﻿//#include "TcpSocket.h"
//#include "TcpServer.h"
//#include "Thread.h"
//#include "pch.h"

//using namespace Web;


//inline float GetTime()
//{
//    return 0.0f;
//}
//int markCount=0;

//struct Mark
//{

//    int no;
//    float time;
//    Mark():no(0), time(0.f)
//    {
//        this->no=markCount++;
//        this->time=GetTime();
//    }
//};

//struct Buffer
//{
//    char data[1024];
//};
//struct TaskList
//{
//    std::vector<Web::Thread*> tasks;
//    void AddTask(Web::Thread* th)
//    {
//        this->tasks.push_back(th);
//    }
//    template<typename T>
//    T* CreateThread()
//    {
//        auto res = new T();
//        this->tasks.push_back(res);
//        return res;
//    }
//    ~TaskList()
//    {
//        for(auto th:this->tasks)
//        {
//            delete th;
//        }
//    }
//    static TaskList* Get();
//};
//namespace {
//    TaskList* g_inst = 0;
//}
//TaskList* TaskList::Get()
//{
//    if (g_inst == 0)
//    {
//        g_inst = new TaskList();

//    }
//    return g_inst;
//}

//struct SeqHandleTask :public Web::Thread
//{
//    TcpClient client;

//    void Run()
//    {
//        while (1)
//        {
//            Buffer buf;
//            int recvLen = client.Recv<Buffer>(buf);

//            if (recvLen < 0)
//            {
//                LOGI("recvLen < 0");
//                break;
//            }
//            else if (recvLen == 0)
//            {
//                LOGI("recvLen == 0 ");
//                break;
//            }
//            else
//            {
//                LOGI("recv a data %s", buf.data);
//            }
//        }

//        LOGW("%s:%d disconnected", client.IP(), client.Port());
//        client.Close();
//    }
//};

//#define server_port  1234
//int main()
//{
//#ifdef __linux__
//    TcpServer::Desc desc;
//    TcpServer tcpServer;

//    desc.port = server_port;

//    tcpServer.Create(desc);
//    while (1)
//    {
//        TcpClient client = tcpServer.Accept();
//        LOGI("Get a client %s %d", client.IP(), client.Port());

//        auto tl = TaskList::Get();

//        //SeqHandleTask* newTask = new SeqHandleTask();
//        auto newTask = tl->CreateThread<SeqHandleTask>();

//        newTask->client = client;
//        newTask->Start();

//    }
//    tcpServer.Close();
//#endif

//#ifdef WIN32

//    TcpSocket tcpSocket;

//    TcpSocket::Desc desc;
//    desc.port=server_port;
//    desc.host="192.168.43.196";

//    tcpSocket.Create(desc);
//    while(1)
//    {
//        Buffer buf;
//        strcpy(buf.data, "holosoos");

//        tcpSocket.Send<Buffer>(buf);
//        Sleep(400);

//    }
//    tcpSocket.Close();

//#endif

//}
#include "TcpSocket.h"
#include "pch.h"
#include "Thread.h"


struct SeqBuffer
{
    int data;
};

int main()
{
#ifdef __linux__
    TcpSocket tcpSocket;
    TcpSocket::Desc desc;
    desc.host="192.168.43.129";
    desc.port=1222;
    tcpSocket.Create(desc);
    while(1)
    {
        SeqBuffer buf;
        tcpSocket.Send<SeqBuffer>(buf);
        LOGI("send data");
        usleep(100);
    }

    tcpSocket.Close();
#endif
}
